package com.serviceprovider.business.module.sp.transaction.valueobjects;

//~--- non-JDK imports --------------------------------------------------------

import com.serviceprovider.business.module.user.model.impl.User;

import org.apache.commons.collections.FactoryUtils;
import org.apache.commons.collections.map.LazyMap;

//~--- JDK imports ------------------------------------------------------------

import java.util.HashMap;
import java.util.Map;

/**
 * Value object for the batch transaction
 *
 * @author mrduongnv@gmail.com
 */
public class BatchTransactionVO {
    private Boolean                            disableApprovePayments = false;
    private Integer                            batchId;
    private Map<Integer, User>                 chosenPayeeMap;
    private String                             customLabelName1;
    private String                             customLabelName2;
    private Boolean                            editingstep1;
    private String                             incompleteStep;
    private Boolean                            isIncompleteTransaction;
    private Integer                            orderId;
    private Map<Integer, User>                 payeeMap;
    private int                                providerId;
    private String                             sortColumn;
    private String                             sortOrder;
    private Map<Integer, TransactionDetailsVO> transactionDetails;
    private Integer                            userRole;

    public BatchTransactionVO() {
        transactionDetails = LazyMap.decorate(new HashMap<Integer, TransactionDetailsVO>(),
                FactoryUtils.instantiateFactory(TransactionDetailsVO.class));
        payeeMap       = LazyMap.decorate(new HashMap<Integer, User>(), FactoryUtils.instantiateFactory(User.class));
        chosenPayeeMap = LazyMap.decorate(new HashMap<Integer, User>(), FactoryUtils.instantiateFactory(User.class));
    }

    public Integer getBatchId() {
        return batchId;
    }

    public void setBatchId(Integer batchId) {
        this.batchId = batchId;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Boolean getDisableApprovePayments() {
        return disableApprovePayments;
    }

    public void setDisableApprovePayments(Boolean disableApprovePayments) {
        this.disableApprovePayments = disableApprovePayments;
    }

    public Boolean getEditingstep1() {
        return editingstep1;
    }

    public void setEditingstep1(Boolean editingstep1) {
        this.editingstep1 = editingstep1;
    }

    public String getIncompleteStep() {
        return incompleteStep;
    }

    public void setIncompleteStep(String incompleteStep) {
        this.incompleteStep = incompleteStep;
    }

    public Boolean getIsIncompleteTransaction() {
        return isIncompleteTransaction;
    }

    public void setIsIncompleteTransaction(Boolean isIncompleteTransaction) {
        this.isIncompleteTransaction = isIncompleteTransaction;
    }

    public String getSortColumn() {
        return sortColumn;
    }

    public void setSortColumn(String sortColumn) {
        this.sortColumn = sortColumn;
    }

    public String getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(String sortOrder) {
        this.sortOrder = sortOrder;
    }

    public Integer getUserRole() {
        return userRole;
    }

    public void setUserRole(Integer userRole) {
        this.userRole = userRole;
    }

    public int getProviderId() {
        return providerId;
    }

    public void setProviderId(int providerId) {
        this.providerId = providerId;
    }

    public String getCustomLabelName1() {
        return customLabelName1;
    }

    public void setCustomLabelName1(String customLabelName1) {
        this.customLabelName1 = customLabelName1;
    }

    public String getCustomLabelName2() {
        return customLabelName2;
    }

    public void setCustomLabelName2(String customLabelName2) {
        this.customLabelName2 = customLabelName2;
    }

    public Map<Integer, TransactionDetailsVO> getTransactionDetails() {
        return transactionDetails;
    }

    public void setTransactionDetails(Map<Integer, TransactionDetailsVO> transactionDetails) {
        this.transactionDetails = transactionDetails;
    }

    public Map<Integer, User> getPayeeMap() {
        return payeeMap;
    }

    public void setPayeeMap(Map<Integer, User> payeeMap) {
        this.payeeMap = payeeMap;
    }

    public Map<Integer, User> getChosenPayeeMap() {
        return chosenPayeeMap;
    }

    public void setChosenPayeeMap(Map<Integer, User> chosenPayeeMap) {
        this.chosenPayeeMap = chosenPayeeMap;
    }
}



